package com.geek.javaes.game;

public class Hero extends Role { // 添加 extends Role
    private String profession;
    private Equipment weapon ;
    private Equipment armor ;
    // 英雄职业（如“战士”“法师”）

    public Hero(String name, int hp, int attack,int defense,String profession) {
        super(name, hp, attack,defense); // 现在可以合法调用父类构造方法
        this.profession = profession;
    }
    // 装备武器
    public void equipWeapon(Equipment weapon) {
        this.weapon = weapon;
        System.out.println(getName() + " 装备了 " + weapon.getDescription());
    }

    // 装备护甲
    public void equipArmor(Equipment armor) {
        this.armor = armor;
        System.out.println(getName() + " 装备了 " + armor.getDescription());
    }

    // 实现父类抽象方法：英雄的“普通攻击”逻辑
    @Override
    public void attack(Role target) {
        System.out.println(getName() + "（" + profession + "）普通攻击了 " + target.getName() + "，造成 " + getAttack() + " 点伤害");
        target.takeDamage(getAttack());
    }

    // 英雄特有行为：释放技能（额外扩展）
    public void useSkill(Role target) {
        System.out.println(getName() + "（" + profession + "）释放技能，造成 " + getAttack() * 2 + " 点伤害");
        target.takeDamage(getAttack() * 2);
    }
}

